/**
 * 内循环中找出最小的元素，每次内循环结束后将最小的元素与头元素进行位置交换
*/
const swap = (arr, i, j) => {
  const temp = arr[i]
  arr[i] = arr[j]
  arr[j] = temp
}

const selectionSort = (arr) => {
  let minIndex
  for (let i = 0; i < arr.length - 1; i++) {
    minIndex = i
    for (let j = i + 1; j < arr.length; j++) {
      if (arr[minIndex] > arr[j]) {
        minIndex = j
      }
    }
    swap(arr, i, minIndex)
  }
  return arr
}

console.log(selectionSort([4, 3, 0, 2, 1]))